// 延迟执行
// 在做
function currying(func){
    const args=[]
    return function result(...rest){
        if(rest.length==0){
            return func(...args)
        }
        args.push(...rest)
        return result
    }
}

// 要curry干嘛？ 没有实现柯里化
// reducer map filter es6 函数式编程的实践
const add =(...args)=>args.reduce((a,b)=>a+b)
const sum = currying(add)
console.log(sum(1)(2)(3)(4)())